{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"definitions": {
		"configurations": {
			"type": "array",
			"items": {
				"type": "object",
				"required": [
					"name"
				],
				"properties": {
					"name": {
						"markdownDescription": "Konfigurationsbezeichner. `Mac`, `Linux` und `Win32` sind spezielle Bezeichner für Konfigurationen, die auf diesen Plattformen automatisch ausgewählt werden, aber der Bezeichner kann beliebig lauten.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerPath": {
						"markdownDescription": "Vollständiger Pfad des verwendeten Compilers, z. B. `/usr/bin/gcc`, um mehr Genauigkeit bei IntelliSense zu erhalten.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerArgs": {
						"markdownDescription": "Compilerargumente zum Ändern der verwendeten Include- oder Define-Anweisungen, z. B.: `-nostdinc++`, `-m32` usw.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"cStandard": {
						"description": "Version des C-Sprachstandards, die für IntelliSense verwendet werden soll. Hinweis: GNU-Standards werden nur zum Abfragen des festgelegten Compilers zum Abrufen von GNU-Definitionen verwendet, und IntelliSense emuliert die äquivalente Version des C-Standards.",
						"type": "string",
						"enum": [
							"c89",
							"c99",
							"c11",
							"c17",
							"gnu89",
							"gnu99",
							"gnu11",
							"gnu17",
							"${default}"
						]
					},
					"cppStandard": {
						"description": "Version des C++-Sprachstandards, die für IntelliSense verwendet werden soll. Hinweis: GNU-Standards werden nur zum Abfragen des festgelegten Compilers zum Abrufen von GNU-Definitionen verwendet, und IntelliSense emuliert die äquivalente Version des C++-Standards.",
						"type": "string",
						"enum": [
							"c++98",
							"c++03",
							"c++11",
							"c++14",
							"c++17",
							"c++20",
							"c++23",
							"gnu++98",
							"gnu++03",
							"gnu++11",
							"gnu++14",
							"gnu++17",
							"gnu++20",
							"gnu++23",
							"${default}"
						]
					},
					"compileCommands": {
						"markdownDescription": "Vollständiger Pfad zur Datei `compile_commands.json` für den Arbeitsbereich.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"includePath": {
						"markdownDescription": "Eine Liste mit Pfaden, die das IntelliSense-Modul bei der Suche nach eingeschlossenen Headern verwenden soll. Die Suche in diesen Pfaden ist nicht rekursiv. Geben Sie `**` an, um eine rekursive Suche durchzuführen. Beispiel: `${workspaceFolder}/**` durchsucht alle Unterverzeichnisse, `${workspaceFolder}` hingegen nicht. In der Regel sollte dies keine System-Includes enthalten; legen Sie stattdessen `C_Cpp.default.compilerPath` fest.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"macFrameworkPath": {
						"description": "Eine Liste der Pfade für die IntelliSense-Engine, die beim Suchen nach eingeschlossenen Headern aus Mac-Frameworks verwendet werden sollen. Wird nur in der Mac-Konfiguration unterstützt.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"windowsSdkVersion": {
						"markdownDescription": "Die Version des Windows SDK-Includepfads für die Verwendung unter Windows, z. B. `10.0.17134.0`.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"pattern": "^\\d{2}\\.\\d{1}\\.\\d{5}\\.\\d{1}$|^8\\.1$"
					},
					"dotConfig": {
						"description": "Ein Pfad zu einer „.config“-Datei, die vom „Kconfig“-System erstellt wurde. Das „Kconfig“-System generiert eine Datei mit allen Definitionen zum Erstellen eines Projekts. Beispiele für Projekte, die das „Kconfig“-System verwenden, sind Linux-Kernel und NuttX-RTOS.",
						"type": "string"
					},
					"defines": {
						"markdownDescription": "Eine Liste mit Präprozessordefinitionen, die das IntelliSense-Modul, beim Analysieren von Dateien verwenden sollen. Verwenden Sie optional `=`, um einen Wert festzulegen, z. B.: `VERSION=1`.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"intelliSenseMode": {
						"markdownDescription": "Der zu verwendende IntelliSense-Modus, der einer Plattform- und Architekturvariante von MSVC, GCC oder Clang zugeordnet wird. Wenn er nicht oder auf `${default}` festgelegt wird, wählt die Erweiterung den Standardwert für diese Plattform aus. Windows verwendet standardmäßig `windows-msvc-x64`, Linux standardmäßig `linux-gcc-x64` und macOS standardmäßig `macos-clang-x64`. IntelliSense-Modi, die nur Varianten vom Typ `<Compiler>-<Architektur>` angeben (z. B. `gcc-x64`), sind Legacy-Modi und werden basierend auf der Hostplattform automatisch in die Varianten `<Plattform>-<Compiler>-<Architektur>` konvertiert.",
						"descriptionHint": "Uses of words 'platform', 'compiler', and 'architecture' are meant to be descriptive placeholders for literal values, so they should be translated, but without changing the surrounding `<>-<>` symbols. All other text inside `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"enum": [
							"macos-clang-x86",
							"macos-clang-x64",
							"macos-clang-arm",
							"macos-clang-arm64",
							"macos-gcc-x86",
							"macos-gcc-x64",
							"macos-gcc-arm",
							"macos-gcc-arm64",
							"linux-clang-x86",
							"linux-clang-x64",
							"linux-clang-arm",
							"linux-clang-arm64",
							"linux-gcc-x86",
							"linux-gcc-x64",
							"linux-gcc-arm",
							"linux-gcc-arm64",
							"windows-clang-x86",
							"windows-clang-x64",
							"windows-clang-arm",
							"windows-clang-arm64",
							"windows-gcc-x86",
							"windows-gcc-x64",
							"windows-gcc-arm",
							"windows-gcc-arm64",
							"windows-msvc-x86",
							"windows-msvc-x64",
							"windows-msvc-arm",
							"windows-msvc-arm64",
							"clang-x86",
							"clang-x64",
							"clang-arm",
							"clang-arm64",
							"gcc-x86",
							"gcc-x64",
							"gcc-arm",
							"gcc-arm64",
							"msvc-x86",
							"msvc-x64",
							"msvc-arm",
							"msvc-arm64",
							"${default}"
						]
					},
					"forcedInclude": {
						"description": "Eine Liste der Dateien, die vor einer Includedatei in einer Übersetzungseinheit enthalten sein sollen.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"configurationProvider": {
						"description": "Die ID einer VS Code-Erweiterung, die IntelliSense-Konfigurationsinformationen für Quelldateien bereitstellen kann.",
						"type": "string"
					},
					"mergeConfigurations": {
						"markdownDescription": "Legen Sie diesen Wert auf `true` fest, um Includepfade, Definitionen und erzwungene Includes mit denen eines Konfigurationsanbieters zusammenzuführen.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "boolean"
					},
					"browse": {
						"type": "object",
						"properties": {
							"limitSymbolsToIncludedHeaders": {
								"markdownDescription": "Legen Sie diesen Wert auf `true` fest, um nur die Dateien zu verarbeiten, die direkt oder indirekt als Header enthalten sind. Legen Sie diesen Wert auf `false` fest, um alle Dateien unter den angegebenen Includepfaden zu verarbeiten.",
								"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": [
									"boolean",
									"string"
								]
							},
							"databaseFilename": {
								"description": "Pfad zur generierten Symboldatenbank. Wenn ein relativer Pfad angegeben wird, wird er relativ zum Standardspeicherort des Arbeitsbereichs erstellt.",
								"type": "string"
							},
							"path": {
								"markdownDescription": "Eine Liste der Pfade, die für die Indizierung und Analyse von Arbeitsbereichssymbolen verwendet werden sollen (z. B. bei \"Gehe zu Definition\" oder \"Alle Verweise suchen\"). Die Suche in diesen Pfaden ist standardmäßig rekursiv. Geben Sie `*` an, um eine nicht rekursive Suche durchzuführen. Beispiel: `${workspaceFolder}` durchsucht alle Unterverzeichnisse, `${workspaceFolder}/*` hingegen nicht.",
								"descriptionHint": "Text in '' is a command and should be translated in the same way that VS Code itself translates it. Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": "array",
								"items": {
									"type": "string"
								}
							}
						},
						"additionalProperties": false
					},
					"customConfigurationVariables": {
						"type": "object",
						"markdownDescription": "Benutzerdefinierte Variablen, die über den Befehl `${cpptools:activeConfigCustomVariable}` abgefragt werden können, um sie für die Eingabevariablen in `launch.json` oder `tasks.json` zu verwenden.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"patternProperties": {
							"(^.+$)": {
								"type": "string"
							}
						},
						"additionalProperties": false
					}
				},
				"additionalProperties": false
			}
		},
		"env": {
			"type": "object",
			"markdownDescription": "Benutzerdefinierte Variablen, die mithilfe der Syntax `${Variable}` oder `${env:Variable}` an einer beliebiger Stelle in dieser Datei wiederverwendet werden können.",
			"descriptionHint": "The word 'variable' within curly braces should be translated. The \"env\" should not be translated, and the capitalization, spacing, and punctuation (\"${:}\", including the ``) should be preserved.",
			"patternProperties": {
				"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^execPath$)(?!^pathSeparator$)(?!^default$)(^.+$)": {
					"oneOf": [
						{
							"type": "string"
						},
						{
							"type": "array",
							"items": {
								"type": "string"
							}
						}
					]
				}
			},
			"additionalProperties": false
		},
		"version": {
			"type": "integer",
			"description": "Version der Konfigurationsdatei. Diese Eigenschaft wird von der Erweiterung verwaltet und darf nicht geändert werden."
		},
		"enableConfigurationSquiggles": {
			"type": "boolean",
			"default": true,
			"markdownDescription": "Steuert, ob die Erweiterung in `c_cpp_properties.json` erkannte Fehler meldet.",
			"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
		}
	},
	"properties": {
		"configurations": {
			"$ref": "#/definitions/configurations"
		},
		"env": {
			"$ref": "#/definitions/env"
		},
		"version": {
			"$ref": "#/definitions/version"
		},
		"enableConfigurationSquiggles": {
			"$ref": "#/definitions/enableConfigurationSquiggles"
		}
	},
	"required": [
		"configurations",
		"version"
	],
	"additionalProperties": false
}